package practicapoo.source;

import java.io.Serializable;
import java.util.GregorianCalendar;

public class Camara implements Serializable{

    private int carril;
    private boolean entradaOSalida; // siendo false entrada y true salida
    private int velocidad;
    private GregorianCalendar fechahora; // fechahora = fechahora.set(carril, carril, carril, carril, carril, carril);
    private boolean transmision;
    private boolean tipoCamara; // false es camara carril, true es camara de velocidad instantanea

    public Camara(int carril, boolean entradaOSalida, int velocidad,
            GregorianCalendar fechahora, 
            boolean tipoCamara) {
        this.carril = carril;
        this.entradaOSalida = entradaOSalida;
        if (tipoCamara == true) {
            this.velocidad = velocidad;
        } else {
            this.velocidad = 0;
        }
        this.fechahora = fechahora;
        this.transmision = true;
        this.tipoCamara = tipoCamara;
        /* Este constructor asigna todo los datos pasados como argumento */
    }

    public Camara(int carril, boolean entradaOSalida, int velocidad,
             boolean tipoCamara) {
        this.carril = carril;
        this.entradaOSalida = entradaOSalida;
        if (tipoCamara == true) {
            this.velocidad = velocidad;
        } else {
            this.velocidad = 0;
        }
        this.transmision = true;
        this.tipoCamara = tipoCamara;
        this.fechahora = (GregorianCalendar) GregorianCalendar.getInstance();
        // System.out.println(fechahora.getTime());
        /* utiliza fecha y hora local de la maquina en el momento de creación */
    }

    public int getCarril() {
        return carril;
    }

    public boolean isEntradaOSalida() {
        return entradaOSalida;
    }

    public int getVelocidad() {
        return velocidad;
    }

    public GregorianCalendar getFechahora() {
        return fechahora;
    }

    public boolean isTransmision() {
        return transmision;
    }

    public boolean isTipoCamara() {
        return tipoCamara;
    }

    public void setCarril(int carril) {
        this.carril = carril;
    }

    public void setEntradaOSalida(boolean entradaOSalida) {
        this.entradaOSalida = entradaOSalida;
    }

    public void setVelocidad(int velocidad) {
        this.velocidad = velocidad;
    }

    public void setFechahora(GregorianCalendar fechahora) {
        this.fechahora = fechahora;
    }

    public void setTransmision(boolean transmision) {
        this.transmision = transmision;
    }

    public void setTipoCamara(boolean tipoCamara) {
        this.tipoCamara = tipoCamara;
    }
}
